/* Project: POPS
 * CS 279, Vanderbilt University
 * by: Igor I. Ges, Michael S. Parrish, Mark E. Sakauye
 *
 *  This program is free software: you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation, either version 3 of the License, or
 *   (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package com.popsDB.java.example;

import java.math.*;
import java.util.Date;
import java.util.Collection;

import com.popsDB.java.dao.CustomersDao;
import com.popsDB.java.dao.EmployeeDao;
import com.popsDB.java.dto.Customers;
import com.popsDB.java.dto.Employee;
import com.popsDB.java.exceptions.EmployeeDaoException;
import com.popsDB.java.factory.EmployeeDaoFactory;

public class EmployeeTests
{
	/**
	 * Method 'main'
	 * 
	 * @param arg
	 * @throws Exception
	 */
	public static void main(String[] arg) throws Exception
	{
		// Uncomment one of the lines below to test the generated code
		
		 findWhereEmployeeIDEquals(1);
		// findWhereFirstNameEquals("Joe");
		// findWhereLastNameEquals("");
		// findWhereIsSalesmanEquals(0);
		// findWhereIsForemanEquals(0);
		// findWhereIsDriverEquals(0);
		// findWhereIsExternalSalesEquals(0);
		// findWhereUsernameEquals("");
		// findWherePasswordEquals("");
		// findWhereIdEquals("");
		// findWhereIsOtherEquals(0);
		// findWhereOtherTitleEquals("");
		 short tmp = 1;
		findWhereIsActiveEquals(tmp);
		// findWhereCityEquals("");
		// findWhereStateEquals("");
		// findWhereZipEquals("");
		// findWherePhoneNumberEquals("");
		// findWhereAddressEquals("");
		// findWhereSsnEquals("");
		// findWhereAddress2Equals("");
		// findWhereCellNumberEquals("");
	}

	/**
	 * Method 'findWhereEmployeeIDEquals'
	 * 
	 * @param employeeID
	 */
	public static void findWhereEmployeeIDEquals(int employeeID)
	{
		
		try {
			EmployeeDao _dao = getEmployeeDao();
			Employee _result[] = _dao.findWhereEmployeeIDEquals(employeeID);
			System.out.println("\n ****** Test Where Employee ID = " + employeeID + " ******");
			int count = 0;
			for (int i = 0; i < _result.length; i++) {
				if (_result[0].getEmployeeID() != employeeID) {
					count = count + 1;
				}
			}
			if (count == 0) {
				System.out.println("PASSED\n");
			}
			else {
				System.out.println("FAILED\n");
			}
		}
		catch (Exception _e) {
			_e.printStackTrace();
		}
		
	}

//	/**
//	 * Method 'findWhereFirstNameEquals'
//	 * 
//	 * @param firstName
//	 */
//	public static void findWhereFirstNameEquals(String firstName)
//	{
//		try {
//			EmployeeDao _dao = getEmployeeDao();
//			Employee _result[] = _dao.findWhereFirstNameEquals(firstName);
//			for (int i=0; i<_result.length; i++ ) {
//				display( _result[i] );
//			}
//		
//		}
//		catch (Exception _e) {
//			_e.printStackTrace();
//		}
//		
//	}
//
//	/**
//	 * Method 'findWhereLastNameEquals'
//	 * 
//	 * @param lastName
//	 */
//	public static void findWhereLastNameEquals(String lastName)
//	{
//		try {
//			EmployeeDao _dao = getEmployeeDao();
//			Employee _result[] = _dao.findWhereLastNameEquals(lastName);
//			for (int i=0; i<_result.length; i++ ) {
//				display( _result[i] );
//			}
//		
//		}
//		catch (Exception _e) {
//			_e.printStackTrace();
//		}
//		
//	}
//
//	/**
//	 * Method 'findWhereIsSalesmanEquals'
//	 * 
//	 * @param isSalesman
//	 */
//	public static void findWhereIsSalesmanEquals(short isSalesman)
//	{
//		try {
//			EmployeeDao _dao = getEmployeeDao();
//			Employee _result[] = _dao.findfindWhereIsSalesmanEquals(isSalesman);
//			System.out.println("\n ****** Test Find Where Billing ID = " + IsSalesman  
//					+ "******");
//			int count = 0;
//			for (int i = 0; i < _result.length; i++) {
//				if (_result[0].getIsSalesman() == IsSalesman) {
//					count = count + 1;
//				}
//			}
//			if (count != 0) {
//				System.out.println("PASSED\n");
//			}
//			else {
//				System.out.println("FAILED\n");
//			}
//
//		}
//		catch (Exception _e) {
//			_e.printStackTrace();
//		}
//		
//	}

//	/**
//	 * Method 'findWhereIsForemanEquals'
//	 * 
//	 * @param isForeman
//	 */
//	public static void findWhereIsForemanEquals(short isForeman)
//	{
//		try {
//			EmployeeDao _dao = getEmployeeDao();
//			Employee _result[] = _dao.findWhereIsForemanEquals(isForeman);
//			for (int i=0; i<_result.length; i++ ) {
//				display( _result[i] );
//			}
//		
//		}
//		catch (Exception _e) {
//			_e.printStackTrace();
//		}
//		
//	}
//
//	/**
//	 * Method 'findWhereIsDriverEquals'
//	 * 
//	 * @param isDriver
//	 */
//	public static void findWhereIsDriverEquals(short isDriver)
//	{
//		try {
//			EmployeeDao _dao = getEmployeeDao();
//			Employee _result[] = _dao.findWhereIsDriverEquals(isDriver);
//			for (int i=0; i<_result.length; i++ ) {
//				display( _result[i] );
//			}
//		
//		}
//		catch (Exception _e) {
//			_e.printStackTrace();
//		}
//		
//	}
//
//	/**
//	 * Method 'findWhereIsExternalSalesEquals'
//	 * 
//	 * @param isExternalSales
//	 */
//	public static void findWhereIsExternalSalesEquals(short isExternalSales)
//	{
//		try {
//			EmployeeDao _dao = getEmployeeDao();
//			Employee _result[] = _dao.findWhereIsExternalSalesEquals(isExternalSales);
//			for (int i=0; i<_result.length; i++ ) {
//				display( _result[i] );
//			}
//		
//		}
//		catch (Exception _e) {
//			_e.printStackTrace();
//		}
//		
//	}
//
//	/**
//	 * Method 'findWhereUsernameEquals'
//	 * 
//	 * @param username
//	 */
//	public static void findWhereUsernameEquals(String username)
//	{
//		try {
//			EmployeeDao _dao = getEmployeeDao();
//			Employee _result[] = _dao.findWhereUsernameEquals(username);
//			for (int i=0; i<_result.length; i++ ) {
//				display( _result[i] );
//			}
//		
//		}
//		catch (Exception _e) {
//			_e.printStackTrace();
//		}
//		
//	}
//
//	/**
//	 * Method 'findWherePasswordEquals'
//	 * 
//	 * @param password
//	 */
//	public static void findWherePasswordEquals(String password)
//	{
//		try {
//			EmployeeDao _dao = getEmployeeDao();
//			Employee _result[] = _dao.findWherePasswordEquals(password);
//			for (int i=0; i<_result.length; i++ ) {
//				display( _result[i] );
//			}
//		
//		}
//		catch (Exception _e) {
//			_e.printStackTrace();
//		}
//		
//	}
//
//	/**
//	 * Method 'findWhereIdEquals'
//	 * 
//	 * @param id
//	 */
//	public static void findWhereIdEquals(String id)
//	{
//		try {
//			EmployeeDao _dao = getEmployeeDao();
//			Employee _result[] = _dao.findWhereIdEquals(id);
//			for (int i=0; i<_result.length; i++ ) {
//				display( _result[i] );
//			}
//		
//		}
//		catch (Exception _e) {
//			_e.printStackTrace();
//		}
//		
//	}
//
//	/**
//	 * Method 'findWhereIsOtherEquals'
//	 * 
//	 * @param isOther
//	 */
//	public static void findWhereIsOtherEquals(short isOther)
//	{
//		try {
//			EmployeeDao _dao = getEmployeeDao();
//			Employee _result[] = _dao.findWhereIsOtherEquals(isOther);
//			for (int i=0; i<_result.length; i++ ) {
//				display( _result[i] );
//			}
//		
//		}
//		catch (Exception _e) {
//			_e.printStackTrace();
//		}
//		
//	}
//
//	/**
//	 * Method 'findWhereOtherTitleEquals'
//	 * 
//	 * @param otherTitle
//	 */
//	public static void findWhereOtherTitleEquals(String otherTitle)
//	{
//		try {
//			EmployeeDao _dao = getEmployeeDao();
//			Employee _result[] = _dao.findWhereOtherTitleEquals(otherTitle);
//			for (int i=0; i<_result.length; i++ ) {
//				display( _result[i] );
//			}
//		
//		}
//		catch (Exception _e) {
//			_e.printStackTrace();
//		}
//		
//	}
//
	/**
	 * Method 'findWhereIsActiveEquals'
	 * 
	 * @param isActive
	 */
	public static void findWhereIsActiveEquals(short isActive)
	{
		try {
			EmployeeDao _dao = getEmployeeDao();
			Employee _result[] = _dao.findWhereIsActiveEquals(isActive);
			System.out.println("***** Test Find Where is Active = " + isActive 
					+ " *****");
			int count = 0;
			for (int i=0; i<_result.length; i++ ) {
				if (_result[i].getIsActive() != isActive) {
					count = count + 1;
				}
			}
			if (count == 0) {
				System.out.println("PASSED\n");
			}
			else {
				System.out.println("FAILED\n");
			}
		}
		catch (Exception _e) {
			_e.printStackTrace();
		}
		
	}
//
//	/**
//	 * Method 'findWhereCityEquals'
//	 * 
//	 * @param city
//	 */
//	public static void findWhereCityEquals(String city)
//	{
//		try {
//			EmployeeDao _dao = getEmployeeDao();
//			Employee _result[] = _dao.findWhereCityEquals(city);
//			for (int i=0; i<_result.length; i++ ) {
//				display( _result[i] );
//			}
//		
//		}
//		catch (Exception _e) {
//			_e.printStackTrace();
//		}
//		
//	}
//
//	/**
//	 * Method 'findWhereStateEquals'
//	 * 
//	 * @param state
//	 */
//	public static void findWhereStateEquals(String state)
//	{
//		try {
//			EmployeeDao _dao = getEmployeeDao();
//			Employee _result[] = _dao.findWhereStateEquals(state);
//			for (int i=0; i<_result.length; i++ ) {
//				display( _result[i] );
//			}
//		
//		}
//		catch (Exception _e) {
//			_e.printStackTrace();
//		}
//		
//	}
//
//	/**
//	 * Method 'findWhereZipEquals'
//	 * 
//	 * @param zip
//	 */
//	public static void findWhereZipEquals(String zip)
//	{
//		try {
//			EmployeeDao _dao = getEmployeeDao();
//			Employee _result[] = _dao.findWhereZipEquals(zip);
//			for (int i=0; i<_result.length; i++ ) {
//				display( _result[i] );
//			}
//		
//		}
//		catch (Exception _e) {
//			_e.printStackTrace();
//		}
//		
//	}
//
//	/**
//	 * Method 'findWherePhoneNumberEquals'
//	 * 
//	 * @param phoneNumber
//	 */
//	public static void findWherePhoneNumberEquals(String phoneNumber)
//	{
//		try {
//			EmployeeDao _dao = getEmployeeDao();
//			Employee _result[] = _dao.findWherePhoneNumberEquals(phoneNumber);
//			for (int i=0; i<_result.length; i++ ) {
//				display( _result[i] );
//			}
//		
//		}
//		catch (Exception _e) {
//			_e.printStackTrace();
//		}
//		
//	}
//
//	/**
//	 * Method 'findWhereAddressEquals'
//	 * 
//	 * @param address
//	 */
//	public static void findWhereAddressEquals(String address)
//	{
//		try {
//			EmployeeDao _dao = getEmployeeDao();
//			Employee _result[] = _dao.findWhereAddressEquals(address);
//			for (int i=0; i<_result.length; i++ ) {
//				display( _result[i] );
//			}
//		
//		}
//		catch (Exception _e) {
//			_e.printStackTrace();
//		}
//		
//	}
//
//	/**
//	 * Method 'findWhereSsnEquals'
//	 * 
//	 * @param ssn
//	 */
//	public static void findWhereSsnEquals(String ssn)
//	{
//		try {
//			EmployeeDao _dao = getEmployeeDao();
//			Employee _result[] = _dao.findWhereSsnEquals(ssn);
//			for (int i=0; i<_result.length; i++ ) {
//				display( _result[i] );
//			}
//		
//		}
//		catch (Exception _e) {
//			_e.printStackTrace();
//		}
//		
//	}
//
//	/**
//	 * Method 'findWhereAddress2Equals'
//	 * 
//	 * @param address2
//	 */
//	public static void findWhereAddress2Equals(String address2)
//	{
//		try {
//			EmployeeDao _dao = getEmployeeDao();
//			Employee _result[] = _dao.findWhereAddress2Equals(address2);
//			for (int i=0; i<_result.length; i++ ) {
//				display( _result[i] );
//			}
//		
//		}
//		catch (Exception _e) {
//			_e.printStackTrace();
//		}
//		
//	}
//
//	/**
//	 * Method 'findWhereCellNumberEquals'
//	 * 
//	 * @param cellNumber
//	 */
//	public static void findWhereCellNumberEquals(String cellNumber)
//	{
//		try {
//			EmployeeDao _dao = getEmployeeDao();
//			Employee _result[] = _dao.findWhereCellNumberEquals(cellNumber);
//			for (int i=0; i<_result.length; i++ ) {
//				display( _result[i] );
//			}
//		
//		}
//		catch (Exception _e) {
//			_e.printStackTrace();
//		}
//		
//	}

	/**
	 * Method 'getEmployeeDao'
	 * 
	 * @return EmployeeDao
	 */
	public static EmployeeDao getEmployeeDao()
	{
		return EmployeeDaoFactory.create();
	}

}
